﻿
Public Class console_text_based_sync_deliverer
    Inherits base_deliverer(Of console_text_based_deliverer_settings)
    Implements sync_deliverer_t

    Public Sub New(Optional ByVal s As console_text_based_deliverer_settings = Nothing)
        MyBase.New(s)
    End Sub

    Public Function deliver(ByVal c As [case]) As Boolean Implements sync_deliverer_t.deliver
        assert(Not c Is Nothing)
        If c.type = constants.text_based.type.text Then
            Console.Write(Convert.ToChar(c.mask))
            Return True
        Else
            Return False
        End If
    End Function
End Class

Public Class console_text_based_deliverer
    Inherits wrappered_deliverer

    Public Sub New(Optional ByVal settings As console_text_based_deliverer_settings = Nothing)
        MyBase.New(sequential_locked(New console_text_based_sync_deliverer(settings)))
    End Sub
End Class
